home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 25
/
AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso
/
Rexx
/
SaveAnimGif.pprx
< prev
next >
Wrap
Text File
|
2000-05-08
|
18KB
|
641 lines
/* Personal Paint Amiga Rexx script - Copyright © 1996, 1997 Cloanto Italia srl */
/* $VER: SaveAnimGif.pprx 1.7 */
/** ENG
This script saves the current anim-brush as a GIF animation file. Specific
features of the GIF animation specification can be set through a requester.
This script checks for the differences between frames and only stores
the smallest rectangular region containing changes. Other techniques
are employed for additional compression. The resulting GIF animations are
highly optimized and occupy considerably less space than GIF animations
created with other tools available on the Amiga.
The "Use Loop" option inserts an "Application Extension Block" into the GIF
file (as implemented by Netscape in its Navigator software from version 2).
This additional block, which is interpreted by most other browsers
supporting GIF animations, specifies that the animation be repeated as many
times as indicated by the "Loop" value. A value of 0 expressly means
"loop continuously".
The list of frames shows the timing value for each frame, in seconds/100.
These values can be selected, edited and applied to one or more frames.
Alternatively, the timing can be copied automatically from the current
animation. If this option is selected ("From Animation"), then the
"Delay" value is used to indicate from which animation frame the timing
values are to be copied.
The "Transparency" setting indicates the current transparency status of
the anim-brush. If transparency is not required by the animation, it is
recommended to leave this option disabled.
Note: an "anim-brush" is a part of a full-screen animation. It can be
either loaded or defined manually after clicking three times on the
Define Brush tool.
*/
/** DEU
Dieses Skript dient zum Speichern des aktuellen Anim-Brushes als
GIF-Animation. Eine Reihe spezifischer Merkmale des Animationsformats läßt
sich in einem dazugehörigen Dialogfenster auswählen.
Nach der Skriptausführung werden zwei aufeinanderfolgende Frames zunächst
auf Unterschiede untersucht. Gespeichert wird dann nur der kleinste
rechteckige Bereich, der Unterschiede zwischen den beiden Bildern aufweist.
Außerdem werden zum Erzielen einer weiter verbesserten Komprimierung noch
andere Verfahren angewendet. Die daraus resultierenden hochoptimierten
GIF-Animationen benötigen erheblich weniger Speicherplatz als solche, die
mit anderen für den Amiga erhältlichen Tools erstellt worden sind.
Durch die Option "Schleife aktiv:" wird der GIF-Datei eine
Programmerweiterung ("Application Extension Block") hinzugefügt, wie sie von
Netscape im Navigator ab Version 2 implementiert ist. Dieser auch von den
meisten anderen Browsern, die GIF-Animationen unterstützen, interpretierte
Block legt fest, daß die Animation so oft wiederholt wird, wie unter
"Schleife:" angegeben. Ein Wert von 0 bewirkt das Abspielen in einer
Endlosschleife.
Die Frameliste zeigt den Timingwert für jedes Einzelbild in Hundertstel
Sekunden. Diese Werte lassen sich auswählen, bearbeiten und anschließend
einem oder mehreren Einzelbildern zuweisen. Alternativ dazu können die
Timingwerte automatisch aus der aktuellen Animation kopiert werden. Wenn die
entsprechende Option aktiviert ist ("Von Animation"), wird der
"Verzögerung"-Wert verwendet, um anzuzeigen, von welchem Einzelbild der
Animation die Timingwerte kopiert werden sollen.
Die "Transparenz"-Einstellung gibt den aktuellen Transparenzstatus des
Animationspinsels wieder. Erfordert die Animation keine Transparenz, so wird
empfohlen, diese Option ausgeschaltet zu lassen.
Hinweis: Ein Animationspinsel ist ein Bestandteil einer normalen Animation.
Er läßt sich nach einem Dreifachklick auf das Pinseldefinitionswerkzeug
entweder laden oder manuell definieren.
*/
/** ITA
Questo script salva l'anim-brush corrente come un'animazione GIF. Si possono
impostare le caratteristiche peculiari di una animazione GIF tramite una
apposita finestra di dialogo.
Questo script controlla eventuali differenze tra fotogrammi e salva solo
la più piccola regione rettangolare che contiene modifiche. Altre tecniche
sono utilizzate per una compressione aggiuntiva. Le animazioni GIF risultanti
sono altamente ottimizzate ed occupano molto meno spazio di quelle create con
altri programmi disponibili su Amiga.
L'opzione "Usare ciclo" inserisce un "Application Extension Block" nel file GIF
(come implementato da Netscape nel suo programma Navigator a partire dalla
versione 2). Questo blocco aggiuntivo, che viene interpretato dalla maggior
parte degli altri programmi di navigazione che permettono l'uso di animazioni
GIF, specifica che l'animazione deve essere ripetuta tante volte quante
indicato dal valore "Ciclo". Un valore pari a 0 significa espressamente
"ciclo continuo".
L'elenco dei fotogrammi mostra il valore di temporizzazione per ciascun
fotogramma, in centesimi di secondo. Tali valori possono essere selezionati,
modificati e applicati a uno o più fotogrammi. In alternativa, la
temporizzazione può essere copiata automaticamente dall'animazione corrente.
Se questa opzione è attiva ("Da animazione"), si usa il valore di
"Temporizzazione fotogrammi" per indicare da quale fotogramma dell'animazione
si devono copiare i valori di temporizzazione.
L'impostazione di "Trasparenza" indica lo stato attuale della trasparenza
dell'anim-brush. Se l'animazione non richiede la trasparenza, è consigliabile
lasciare disattivata questa opzione.
Nota: un "anim-brush" è un pennello, e come tale in genere una (più piccola)
parte di un'animazione a tutto schermo. Un anim-brush può essere caricare,
oppure definito manualmente facendo click tre volte sullo strumento
Definire pennello.
*/
IF ARG(1, EXISTS) THEN
PARSE ARG PPPORT
ELSE
PPPORT = 'PPAINT'
IF ~SHOW('P', PPPORT) THEN DO
IF EXISTS('PPaint:PPaint') THEN DO
ADDRESS COMMAND 'Run >NIL: PPaint:PPaint'
DO 30 WHILE ~SHOW('P',PPPORT)
ADDRESS COMMAND 'Wait >NIL: 1 SEC'
END
END
ELSE DO
SAY "Personal Paint could not be loaded."
EXIT 10
END
END
IF ~SHOW('P', PPPORT) THEN DO
SAY 'Personal Paint Rexx port could not be opened'
EXIT 10
END
ADDRESS VALUE PPPORT
OPTIONS RESULTS
OPTIONS FAILAT 10000
Get 'LANG'
IF RESULT = 1 THEN DO /* Deutsch */
txt_title_req = 'GIF-Anim-Brush speichern'
txt_title_set = 'GIF-Anim-Brush-Einstellungen'
txt_title_delay = 'Frame-Verzögerung'
txt_gad_delay = 'Frame-Verzögerungen:'
txt_gad_annot = '_Bemerkung:'
txt_gad_loop = '_Schleife:'
txt_gad_useloop = 'Schleife ak_tiv:'
txt_gad_transp = '_Transparenz:'
txt_gad_del = '_Verzögerung:'
txt_gad_deltype = ' '
txt_gad_deltype0 = '1/100\""'
txt_gad_deltype1 = 'Von Animation'
txt_gad_from = 'A_b Frame:'
txt_gad_to = 'Bi_s Frame:'
txt_err_oldclient = 'Für dieses Skript_ist eine neuere Version_von Personal Paint erforderlich'
txt_err_oldlib = 'Für dieses Skript ist eine neuere Version_der GIF library erforderlich'
txt_err_notabsh = 'Aktueller Brush_ist kein Anim-Brush'
txt_err_notemp = 'Zu wenig Speicher_für temporären Brush'
txt_err_nomem = 'Speichermangel'
txt_err_nosave = 'Fehler bei Datei-Ein-/Ausgabe'
END
ELSE IF RESULT = 2 THEN DO /* Italiano */
txt_title_req = 'Scrivere Anim-brush GIF'
txt_title_set = 'Parametri Anim-brush GIF'
txt_title_delay = 'Temporizzazione'
txt_gad_delay = 'Temporizzazione fotogrammi:'
txt_gad_annot = '_Note:'
txt_gad_loop = 'Cic_lo:'
txt_gad_useloop = '_Usare ciclo:'
txt_gad_transp = '_Transparenza:'
txt_gad_del = '_Temporizzazione:'
txt_gad_deltype = ' '
txt_gad_deltype0 = '1/100\""'
txt_gad_deltype1 = 'Da animazione'
txt_gad_from = 'Da _fotogramma:'
txt_gad_to = 'A f_otogramma:'
txt_err_oldclient = 'Questa procedura richiede_una versione più recente_di Personal Paint'
txt_err_oldlib = 'Questa procedura richiede_una versione più recente_della libreria GIF'
txt_err_notabsh = 'Il pennello attuale_non è un anim-brush'
txt_err_notemp = 'Impossibile creare_pennello temporaneo'
txt_err_nomem = 'Memoria insufficiente'
txt_err_nosave = 'Errore di scrittur